/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.claro.administracionSolicitudes.ejb;

import co.com.claro.administracionSolicitudes.dao.exceptions.ClaroException;
import co.com.claro.administracionSolicitudes.entity.Solicitud;
import co.com.claro.administracionSolicitudes.entity.Usuario;
import co.com.claro.administracionSolicitudes.entity.UsuariosPorAplicaciones;
import co.com.claro.administracionSolicitudes.entity.enums.AccionesEnum;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author Mike
 */
@Local
public interface EJBAdminSolicitudesLocal {

    void saludar();

    void enviarSolicitudAplicacion(Solicitud solicitud, UsuariosPorAplicaciones usrxapps,
            AccionesEnum accion, short tipoAplicacion) throws ClaroException;

    void aprobarSolicitud(Solicitud solicitud) throws ClaroException;

    void asignarSolicitud(Solicitud solicitud) throws ClaroException;

    void ejecutarSolicitud(Solicitud solicitud) throws ClaroException;

    void cancelarSolicitud(Solicitud solicitud) throws ClaroException;

    void generarSolicitudMasivaBorradoUsuario(Usuario usuario) throws ClaroException;

    void cambiarPassword(Usuario usuario) throws ClaroException;

    void notificarUsuario(String mensaje, String destinatario, String asunto);

    String restablecerContrasena(String nombreUsuario) throws ClaroException;

    void certificarUsuario(List<UsuariosPorAplicaciones> aplicacionesEliminadas, List<UsuariosPorAplicaciones> aplicacionesCertificadas, Usuario usuarioCertificador) throws ClaroException;

    void crearUsuario(Usuario usuario, boolean tieneUsuarioRed, int idAplicacion) throws ClaroException;
    
    void modificarPerfilUsuario(Usuario usuarioNuevo, Usuario usuarioActual) throws ClaroException;
    
    void aprobarSolicitudesMasivas(List<Solicitud> solicitudes) throws ClaroException;
    
    void cancelarSolicitudesMasivas(List<Solicitud> solicitudes) throws ClaroException;
    
}
